package com.hnhegui.backend.order.dto.request;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class FulfillmentRequestDTO {
    @NotBlank(message = "订单ID不能为空")
    private String orderId;

    @NotBlank(message = "履约类型不能为空")
    private String fulfillmentType;

    private ExpressInfoRequest expressInfo;

    private PickupInfoRequest pickupInfo;

    private VirtualInfoRequest virtualInfo;

    @Data
    public static class ExpressInfoRequest {
        @NotBlank(message = "快递公司不能为空")
        private String expressCompany;

        @NotBlank(message = "快递单号不能为空")
        private String trackingNo;
    }

    @Data
    public static class PickupInfoRequest {
        @NotBlank(message = "提货码不能为空")
        private String pickupCode;

        @NotBlank(message = "门店ID不能为空")
        private String storeId;
    }

    @Data
    public static class VirtualInfoRequest {
        private String activationCode;
        private String downloadUrl;
    }
}
